home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (C) 1986 by M. J. Shannon, Jr.
- ** Permission to distribute for non-commercial uses granted as long as this
- ** notice is retained. Violators will be prosecuted.
- */
-
- #include <stdio.h>
- #include "mpu/mpu.h"
-
- void setavoice();
-
- unsigned char read_buf[256]; /* a buffer to read into */
- unsigned char patch_buf[256]; /* a buffer to read into */
-
- int
- main(argc, argv, envp)
- int argc;
- char **argv;
- char **envp;
- {
- char *vers_string;
-
- /* reset the MPU */
- mpu_reset();
- /* get the firmware version/revision */
- vers_string = mpu_id();
- /* show it to the user */
- printf("MPU: %s\n", vers_string);
- /* enable various options */
- mpu_put(SWE_HEXCL);
- mpu_put(SWE_DATAINSTOP);
- mpu_put(SWE_TIME);
- /* and load the patch */
- setavoice();
- /* return success to DOS */
- return (0);
- }
-
- void
- setavoice()
- {
- int length;
- int i;
- FILE *fp;
- char s[256];
-
- getfile:;
- /* ask for a filename to read the patch from */
- printf("File name:");
- gets(s);
- /* to get out, just hit CR */
- if (s[0] == '\0')
- exit(0);
- /* create the file for binary i/o */
- fp = fopen(s, "rb");
- /* complain if we couldn't */
- if (!fp)
- {
- printf("Couldn't open <%s>!\n", s);
- goto getfile;
- }
- /* read it in */
- fread(patch_buf, 102, 1, fp);
- /* close the file */
- fclose(fp);
- printf("Loading...");
- mpu_sexcl(patch_buf);
- printf("\n");
- /* read until we get something */
- while ((length = mpu_read(&read_buf[0])) == 0)
- /* tell user we didn't get anything */
- printf("Waiting...\n");
- printf("Reply was %d bytes:\n", length);
- for (i = 0; i < length; ++i)
- printf("%.2x ", read_buf[i]);
- printf("\n");
- }
-